Guided Project: Analyzing Stock Prices
Posted on Wed 08 July 2015 in Projects
Stock Price Data¶
In [45]:
import concurrent.futures
import os
def read_file(filename):
with open(filename, 'r') as f:
data = f.read().strip()
key = filename.replace(".csv", "").replace("prices/", "")
data = data.split("\n")
data = [d.split(",") for d in data]
return key, data
results = []
pool = concurrent.futures.ProcessPoolExecutor(max_workers=2)
filenames = ["prices/{}".format(f) for f in os.listdir("prices")]
prices = pool.map(read_file, filenames)
prices = list(prices)
prices = dict(prices)
I chose to use a hash table, then a list, then another list. This is because it closely mirrors the existing structure of the data. It allows stock symbols to be easily looked up, and enables me to index values efficiently.
Computing Aggregates¶
In [46]:
from dateutil.parser import parse
prices_columns = {}
for k,v in prices.items():
price = v
headers = price[0]
price_columns = {}
for i, header in enumerate(headers):
values = [p[i] for p in price[1:]]
if i > 0:
values = [float(v) for v in values]
else:
values = [parse(v) for v in values]
price_columns[header] = values
prices_columns[k] = price_columns
In [47]:
from statistics import mean
average_closing = {}
for k,v in prices_columns.items():
average_closing[k] = mean(v["close"])
In [48]:
closing_tuples = [(k,v) for k,v in average_closing.items()]
sorted(closing_tuples, key=lambda x:x[1])
Out[48]:
[('blfs', 0.8122763011583011),
('apdn', 0.8241009938223938),
('bmra', 0.901011583011583),
('bcli', 0.9969415324324323),
('cyrx', 1.1615408884169884),
('clrb', 1.2045711436293436),
('cpst', 1.206953667953668),
('csbr', 1.2282443845854418),
('egt', 1.3293513513513513),
('aemd', 1.398042471042471),
('dfbg', 1.4005010393822395),
('alqa', 1.405298283011583),
('cpah', 1.4116189448441248),
('astc', 1.4152123552123552),
('chci', 1.4581224154440156),
('ctic', 1.494366311969112),
('eltk', 1.5323436293436294),
('dzsi', 1.5382316602316601),
('cool', 1.5475988922779924),
('cgnt', 1.5946138996138997),
('creg', 1.6028996138996139),
('casi', 1.617906349034749),
('admp', 1.7122164397683397),
('bnso', 1.7172548262548262),
('aezs', 1.7391445949806952),
('dynt', 1.822119691119691),
('apps', 1.8256061776061776),
('dysl', 1.8631660231660232),
('apri', 1.8681738996138995),
('crds', 1.8903166015444017),
('dlhc', 1.8903745173745172),
('cur', 1.907691699604743),
('ardm', 1.928069498069498),
('cpsh', 1.9615839865149602),
('cprx', 1.9762007722007722),
('cidm', 1.9935057915057917),
('cytr', 1.9986748837837838),
('atrs', 2.035023166023166),
('dram', 2.0592628378378377),
('artx', 2.0992316602316605),
('aris', 2.1661389961389963),
('cfbk', 2.174841698841699),
('crtn', 2.1850579150579152),
('bosc', 2.188019305019305),
('ffhl', 2.192687258687259),
('emms', 2.2464208494208493),
('abio', 2.2518008),
('clbs', 2.2820694980694984),
('bldp', 2.3273861003861005),
('drrx', 2.3527799227799227),
('camt', 2.402606177606178),
('basi', 2.4194633204633202),
('cbak', 2.4378957528957526),
('cthr', 2.4644787644787645),
('cris', 2.4645714285714284),
('fll', 2.4715752895752896),
('capr', 2.473247462919594),
('cemi', 2.4821776061776064),
('casm', 2.4918),
('abeo', 2.593220077220077),
('cdor', 2.6057721938223937),
('aehr', 2.6085559845559847),
('clwt', 2.6171322247104247),
('biol', 2.6383436347490345),
('cntf', 2.659563711969112),
('cycc', 2.667563561003861),
('aey', 2.6871505791505794),
('atec', 2.702578042857143),
('cyrn', 2.7131410714285717),
('dxtr', 2.7493397683397682),
('aame', 2.7796795366795366),
('asrv', 2.801169884169884),
('axas', 2.8366293436293435),
('dcth', 2.891166023166023),
('agen', 2.999889955984556),
('clsn', 3.00828185019305),
('drad', 3.053988416988417),
('casc', 3.062540716602317),
('arci', 3.1327799227799225),
('adxs', 3.166938612355212),
('apwc', 3.2336409266409265),
('edap', 3.2358030888030886),
('cui', 3.2413753598455597),
('cort', 3.2995482625482624),
('cytx', 3.3293219922779924),
('acls', 3.343806946718147),
('avir', 3.4036661768339767),
('ahpi', 3.4043899613899615),
('byfc', 3.4977644787644784),
('dswl', 3.529177606177606),
('extr', 3.5375019305019304),
('egan', 3.5465791505791504),
('cnit', 3.604745173745174),
('falc', 3.6092123552123554),
('cbli', 3.61026641042471),
('eng', 3.644196910810811),
('daio', 3.651555984555985),
('cmls', 3.678938223938224),
('dtrm', 3.7235559845559845),
('cbmx', 3.7302140003861),
('axgn', 3.82023166023166),
('axti', 3.8255212355212356),
('asur', 3.873123663706564),
('arql', 3.8744247104247105),
('cpss', 3.9003629343629345),
('evlv', 3.972590733590734),
('amrn', 3.992459461003861),
('cdti', 4.001780249420849),
('esxb', 4.032393822393822),
('else', 4.060752895752896),
('awre', 4.083567567567568),
('arwr', 4.130016216216216),
('cyan', 4.164428571428572),
('cers', 4.2464787644787645),
('fhco', 4.288459459459459),
('bsqr', 4.305370656370656),
('attu', 4.317359073359073),
('audc', 4.375227799227799),
('cnty', 4.444320463320464),
('emkr', 4.458320463320463),
('ctib', 4.690494208494208),
('cytk', 4.7425641938223935),
('bdsi', 4.8207065644787646),
('cgen', 4.882621621621621),
('arna', 4.915745173745174),
('cyccp', 4.965254826254826),
('ccur', 4.987629343629343),
('exfo', 4.995563706563707),
('arry', 5.182899613899614),
('edgw', 5.274084942084942),
('bwen', 5.326498072200772),
('bbgi', 5.338297297297298),
('eght', 5.531308880694981),
('eqfn', 5.558436266023166),
('acfc', 5.596733538610039),
('crme', 5.622293436293436),
('crws', 5.629305019305019),
('evol', 5.701853281853282),
('arcw', 5.706739867181467),
('avnw', 5.723947867953668),
('denn', 5.761945945945946),
('flws', 5.78195752895753),
('bios', 5.790710422779923),
('cwbc', 5.892640926640927),
('achn', 5.9411776069498075),
('educ', 5.948108107722008),
('cown', 5.948822393822394),
('alsk', 5.9955675694980695),
('atax', 5.999752895752896),
('amd', 6.005552123166024),
('dvax', 6.033752898455599),
('cspi', 6.0528571428571425),
('boch', 6.063119691119691),
('bcrx', 6.095837838223938),
('dwsn', 6.19491095945946),
('atlc', 6.211756745173745),
('abtl', 6.233108108494209),
('crnt', 6.269598454826254),
('dxyn', 6.331316601930502),
('cart', 6.340498070270271),
('bebe', 6.4181969498069495),
('exel', 6.616277998455599),
('bybk', 6.642911204633204),
('atsg', 6.652401541698842),
('cwst', 6.658471042471042),
('clro', 6.852370656370656),
('carv', 6.87222652972973),
('bldr', 6.9454671849420855),
('elon', 6.949154477992279),
('amkr', 6.955822393436294),
('cacb', 7.012756795366795),
('bgcp', 7.162189189189189),
('bde', 7.226011583011583),
('club', 7.270509651737451),
('bkmu', 7.306324324324325),
('czwi', 7.406482625482626),
('arlz', 7.441718146718147),
('artw', 7.46590346911197),
('caas', 7.633440158301158),
('cfcb', 7.65700699961375),
('brcd', 7.668254826254826),
('dvcr', 7.688459461389961),
('cuba', 7.751552123552123),
('aray', 7.887376223391812),
('dwch', 8.038034755212355),
('egle', 8.046072912741312),
('clfd', 8.055154443629345),
('amswa', 8.076181467181467),
('brew', 8.094903474517373),
('chnr', 8.12607720965251),
('esca', 8.187945943243243),
('cban', 8.232640922779924),
('cbio', 8.433602686100386),
('evbs', 8.45465635868726),
('cvgi', 8.536474901930502),
('cald', 8.608965250965252),
('cvv', 8.624386101930503),
('axdx', 8.656428568339768),
('feim', 8.712000000000002),
('flex', 8.817428571814672),
('bvsn', 8.850015447876448),
('asys', 8.914054046332046),
('bsf', 8.928162200386101),
('brid', 8.972416988030888),
('elgx', 8.976440163706563),
('depo', 8.988274123938224),
('cldx', 9.006351276061777),
('cece', 9.062675674517374),
('allt', 9.180019302702703),
('dspg', 9.215841698069498),
('civb', 9.309308876833978),
('exas', 9.390011581081081),
('entg', 9.497733591505792),
('camp', 9.500046333590733),
('ctg', 9.576830107335908),
('cvcy', 9.671478766409265),
('dsgx', 9.768467180694982),
('czfc', 9.846169883783784),
('botj', 9.858123591891891),
('cplp', 9.927482215019763),
('ainv', 9.949749044015444),
('cybe', 9.964861003861005),
('amot', 9.96724324015444),
('ccrn', 10.054741314671816),
('cobz', 10.071579151737453),
('bont', 10.085776056370657),
('call', 10.101200768339769),
('avdl', 10.10303474015444),
('aiq', 10.171544398841698),
('brkl', 10.241702702702701),
('csq', 10.269231660231661),
('alot', 10.286698842084942),
('agys', 10.3036139015444),
('amrb', 10.411073202702703),
('cvti', 10.437138995752894),
('dgii', 10.495293435521235),
('brks', 10.524733592277991),
('fcco', 10.537714290347491),
('aobc', 10.59406178030888),
('fccy', 10.679512464864866),
('cdzi', 10.901432437837839),
('bfin', 10.907671818146717),
('buse', 10.920324543629343),
('centa', 10.959813017140632),
('asfi', 11.159220083783783),
('cmct', 11.270061818532819),
('acta', 11.320559837065638),
('amri', 11.358054055598455),
('elos', 11.39328957027027),
('cent', 11.431996134749035),
('esio', 11.514586870656371),
('bcbp', 11.546521235135137),
('csbk', 11.708667741312741),
('cutr', 11.777822398841698),
('atrc', 11.84171041969112),
('aaxn', 11.863907341698841),
('csfl', 11.947644780694981),
('essa', 12.126070440047487),
('dakt', 12.215868713513514),
('ancx', 12.260374515444015),
('eei', 12.263416957915057),
('dave', 12.284664105405405),
('cvbf', 12.391718153667954),
('airt', 12.430108102316604),
('chy', 12.456038608880307),
('chi', 12.602803088416989),
('acet', 12.655212363320464),
('cohu', 12.740305017374517),
('emitf', 12.964027813127412),
('amsc', 13.049243415057914),
('cresy', 13.09593044787645),
('bgfv', 13.156471046718146),
('bcor', 13.260498064864864),
('cnob', 13.295115791505792),
('eric', 13.297131263706563),
('drys', 13.49853955019305),
('cwco', 13.618177600000001),
('ceco', 13.657787633204634),
('bksc', 13.711621528571428),
('cgo', 13.7736332),
('acad', 13.823586874903475),
('cfnb', 13.825111963706565),
('bset', 13.877702711583012),
('csii', 13.978281854440155),
('bncn', 13.986131252895753),
('cy', 14.158153035907336),
('fbms', 14.224830092664092),
('cdns', 14.24691891119691),
('cfnl', 14.268891889189188),
('cnxn', 14.347270266795366),
('clct', 14.4366796011583),
('dcom', 14.727355209652512),
('ango', 14.802289587258688),
('arcc', 14.933262535135134),
('etfc', 14.956660266795367),
('dgica', 14.986583006177607),
('fbss', 15.228308892277994),
('akrx', 15.387104233590733),
('cvly', 15.412107433976834),
('cray', 15.423347486486486),
('chfn', 15.70860224015444),
('ezpw', 15.789984552895755),
('brkr', 15.86540154247104),
('ccne', 15.950173729729729),
('actg', 15.997490346718147),
('cunb', 15.998223935135135),
('ffbc', 16.002316604633204),
('csiq', 16.0704556007722),
('fbnc', 16.11827027027027),
('bsrr', 16.140177604633205),
('ccbg', 16.26640926872587),
('ffic', 16.59364864787645),
('crox', 16.676393825482627),
('dnbf', 16.71552883088803),
('arrs', 17.104613885328185),
('amat', 17.116648652509653),
('ceva', 17.12422007104247),
('ebtc', 17.201536692277994),
('anip', 17.234360110038608),
('finl', 17.241752891505794),
('bpop', 17.295227834362933),
('eml', 17.330768325482623),
('acnb', 17.3435289003861),
('fmbi', 17.350911196138995),
('asna', 17.81176063204633),
('abcb', 17.990475994208495),
('acxm', 18.263061783783783),
('dgicb', 18.359567528185327),
('cenx', 18.39556755173745),
('efsc', 18.541934354826257),
('cznc', 18.655586874131274),
('cbfv', 18.728787650193052),
('cnsl', 18.772135127027028),
('dest', 18.788065616216215),
('ehth', 18.973142869111967),
('esbk', 19.142613947490347),
('chke', 19.15281466100386),
('ffkt', 19.47292279305019),
('exac', 19.531007741698843),
('fizz', 19.844949835907336),
('aegn', 19.89972970926641),
('atvi', 19.92204634131274),
('fisi', 19.93808495096525),
('aeis', 20.00321233899614),
('cmco', 20.1090116),
('fcap', 20.15421233976834),
('farm', 20.193166013513515),
('cizn', 20.43169879150579),
('arkr', 20.460409264092664),
('crus', 20.50549421969112),
('ctrn', 20.54685713976834),
('boom', 20.59703861119691),
('anik', 20.77447492046332),
('epay', 20.79650191235521),
('artna', 20.97944401119691),
('aimc', 20.999660249420852),
('belfa', 21.040139010810808),
('conn', 21.148482605791504),
('baby', 21.253150588803088),
('bpopn', 21.34707336023166),
('cffn', 21.4160772),
('belfb', 21.680702705791507),
('caty', 21.829671827027028),
('aal', 22.07495366679537),
('atlo', 22.101030884555986),
('amnb', 22.113752890347488),
('emcf', 22.219915054826256),
('dmrc', 22.26364027351097),
('dmlp', 22.28328186100386),
('adru', 22.371667961776062),
('avhi', 22.40623167915058),
('adrd', 22.517482620463323),
('flxs', 22.836366786486487),
('diod', 22.849976832046334),
('fbiz', 22.958876448262547),
('aplp', 23.031826284169885),
('bwina', 23.124262511969114),
('fdef', 23.23314284092664),
('ccoi', 23.236517377606177),
('clmt', 23.327073368339768),
('amtd', 23.490517397683398),
('csgs', 23.515061787258688),
('aubn', 23.598679533976835),
('colb', 23.599138993050193),
('aaon', 23.617386061776063),
('csco', 23.628822402702703),
('bwinb', 23.673023192664093),
('bmtc', 23.783575303088803),
('egbn', 23.78503891003861),
('adtn', 23.847494206177608),
('achc', 24.04779533822394),
('cetv', 24.057965252509653),
('bdge', 24.12035132432432),
('car', 24.829617774131272),
('azpn', 24.926833974517375),
('dgas', 24.959196903088802),
('ecpg', 24.97440927104247),
('asrvp', 25.09542473243243),
('bstc', 25.102737436293435),
('emci', 25.21568724942085),
('becn', 25.59151352046332),
('arow', 25.715315076833978),
('ca', 25.74628186023166),
('efii', 25.840223945945947),
('bbox', 25.997579137451737),
('apog', 26.00773359150579),
('banfp', 26.415837825482622),
('chmg', 26.421312745173747),
('exls', 26.46239382084942),
('avav', 26.558296459060923),
('arcb', 26.582247134362934),
('banr', 26.604234801930502),
('afsi', 26.69982658918919),
('ewbc', 26.819362960231658),
('crai', 27.154254832432432),
('chfc', 27.265100385714284),
('adra', 27.35145173976834),
('acor', 27.47286873938224),
('flic', 27.732250961776064),
('alks', 28.143567575675675),
('ecol', 28.210664105405407),
('aciw', 28.27269496023166),
('dxcm', 28.520806964092667),
('chscp', 29.073046355984555),
('afam', 29.434312770656373),
('cvgw', 29.56466022934363),
('cnbka', 30.143177581081083),
('amsf', 30.34488032162162),
('bbsi', 30.425525077220076),
('ctws', 30.461830105405404),
('crmt', 30.543277994594593),
('flir', 30.795725856370655),
('cmtl', 30.963007716216218),
('bofi', 31.210980661776063),
('evep', 31.358648642471042),
('arii', 31.491413133590733),
('amed', 31.845227816216216),
('bjri', 31.854320508108106),
('atro', 31.862567476833977),
('cnmd', 31.917447902316603),
('cigi', 32.206258406177604),
('cash', 32.26195366332046),
('cffi', 32.433154460617764),
('amag', 32.49387646872587),
('ebix', 32.532169762934366),
('cgnx', 32.55762165714285),
('ctbi', 32.61787694054054),
('abmd', 33.22242086100386),
('blkb', 33.75537838185328),
('cake', 34.3126757027027),
('amwd', 34.320258717374514),
('abax', 34.57868337992278),
('crzo', 34.66379924324325),
('alco', 34.68778766100386),
('dorm', 34.767818543243244),
('faro', 34.87222776949807),
('eeft', 35.11525484749035),
('ebay', 35.18885618648648),
('cac', 35.50384555559845),
('cmcsa', 35.904505792277995),
('cree', 36.52946716216216),
('algn', 36.75162934864865),
('cprt', 37.017694950579155),
('csx', 37.15074516833977),
('aste', 37.29283010849421),
('ea', 37.33655212046332),
('endp', 37.34726641737452),
('crvl', 37.4438649034749),
('bobe', 37.68301545907336),
('dox', 37.75929727606178),
('ahgp', 38.20530885868726),
('calm', 38.32738610810811),
('dxpe', 38.61513902084942),
('fele', 38.77260231583011),
('cvlt', 39.00099612741313),
('adre', 39.14505407104247),
('alny', 39.17148648803089),
('disca', 39.234679803474904),
('dish', 39.2437143050193),
('bmrc', 39.3548107945946),
('chco', 39.56640153011583),
('discb', 39.65275737837838),
('ccmp', 39.67996139150579),
('esnd', 40.798293426640925),
('agii', 40.817575337065634),
('bcpc', 41.03619678301158),
('ande', 41.82902698030888),
('cass', 42.141633734749036),
('ffin', 42.178899534749036),
('adi', 42.24018144826255),
('adsk', 42.24759463281853),
('cinf', 42.25041697451738),
('cbsh', 42.690903429343635),
('akam', 42.81851348687258),
('expd', 42.86821235366795),
('bbry', 43.67659082355212),
('core', 44.28576448223938),
('aaww', 44.33160229034749),
('fast', 44.40756368957529),
('cpsi', 44.44345173899614),
('ctrp', 45.163220061389964),
('expo', 46.09936678262548),
('airm', 46.918258888030884),
('arlp', 46.942791493436296),
('abco', 47.64705796756757),
('atni', 47.67885716216216),
('banf', 49.64349804169884),
('bbby', 50.183324364864866),
('ctas', 50.47888414247104),
('bmrn', 50.52171040733591),
('cmpr', 51.058057920077225),
('chkp', 51.12600387451738),
('adbe', 51.199436284169884),
('cvco', 53.36543631042471),
('cohr', 53.71215058262549),
('colm', 53.72719691235521),
('expe', 53.78315830308881),
('cpla', 54.80040545714285),
('dwaq', 55.77838609343629),
('bokf', 56.16893048532818),
('dltr', 57.418077247490345),
('ctsh', 57.91491119652509),
('ctxs', 58.02012394942085),
('casy', 58.495737440926646),
('eslt', 58.57627412471042),
('asml', 59.040315206563704),
('adp', 61.03234735559845),
('chrw', 61.98583785675676),
('anss', 62.32520078146718),
('acgl', 63.325907376833975),
('alog', 64.74335521467181),
('cern', 65.04237453166023),
('esrx', 67.4280848891892),
('fisv', 67.52742853513513),
('chdn', 72.21778764864865),
('cbrl', 76.63736287992278),
('cswc', 77.7559074069498),
('coke', 80.56527417181468),
('algt', 83.70168345444016),
('celg', 85.09483015984556),
('ffiv', 86.29457917374518),
('bwld', 89.39383399150579),
('amgn', 92.2331003965251),
('cacc', 95.49895756602317),
('cost', 96.17006946409266),
('alxn', 97.1099267011583),
('anat', 97.93825093397683),
('csgp', 103.10355984362934),
('dhil', 104.54806553783784),
('djco', 110.25166789845561),
('bbh', 113.28309655096525),
('esgr', 114.26885330617759),
('biib', 164.53822006138998),
('eqix', 165.3847721150579),
('bidu', 193.53191124478764),
('fcnca', 200.25248278146717),
('atri', 228.38977615984555),
('cme', 230.2946601100386),
('aapl', 257.17654040231656),
('amzn', 275.13407757104244)]
It appears the AMZN and AAPL have the highest average closing prices, while BLFS, and APDN have the lowest average closing prices.
Finding The Most Traded Stock Each Day¶
In [49]:
trades = {}
for k, v in prices_columns.items():
for i,date in enumerate(v["date"]):
if date not in trades:
trades[date] = []
trades[date].append([k,v["volume"][i]])
In [50]:
most_traded = []
for k, v in trades.items():
ordered = sorted(v, key=lambda x: x[1])
symbol = ordered[-1][0]
most_traded.append([k, symbol])
most_traded = sorted(most_traded, key=lambda x: x[0])
most_traded
Out[50]:
[[datetime.datetime(2007, 1, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 1, 31, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 15, 0, 0), 'bidu'], [datetime.datetime(2007, 2, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 2, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 8, 0, 0), 'cy'], [datetime.datetime(2007, 3, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 3, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 19, 0, 0), 'ebay'], [datetime.datetime(2007, 4, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 4, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 5, 31, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 6, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 7, 31, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 8, 31, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 25, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 9, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 22, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 25, 0, 0), 'cmcsa'], [datetime.datetime(2007, 10, 26, 0, 0), 'cmcsa'], [datetime.datetime(2007, 10, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 10, 31, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 1, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 2, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 5, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 8, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 9, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 15, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 16, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 23, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 29, 0, 0), 'aapl'], [datetime.datetime(2007, 11, 30, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 3, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 4, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 5, 0, 0), 'cmcsa'], [datetime.datetime(2007, 12, 6, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 7, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 10, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 11, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 12, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 13, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 14, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 17, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 18, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 19, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 20, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 21, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 24, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 26, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 27, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 28, 0, 0), 'aapl'], [datetime.datetime(2007, 12, 31, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 1, 31, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 2, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 3, 31, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 4, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 5, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 6, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 17, 0, 0), 'ebay'], [datetime.datetime(2008, 7, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 7, 31, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 8, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 9, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 27, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 10, 31, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 6, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 7, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 13, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 14, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 20, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 21, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 25, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 11, 28, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 1, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 2, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 3, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 4, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 5, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 8, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 9, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 10, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 11, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 12, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 15, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 16, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 17, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 18, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 19, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 22, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 23, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 24, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 26, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 29, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 30, 0, 0), 'aapl'], [datetime.datetime(2008, 12, 31, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 1, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 2, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 3, 31, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 4, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 5, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 6, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 23, 0, 0), 'ebay'], [datetime.datetime(2009, 7, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 7, 31, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 8, 31, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 9, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 1, 0, 0), 'cmcsa'], [datetime.datetime(2009, 10, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 5, 0, 0), 'brcd'], [datetime.datetime(2009, 10, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 12, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 26, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 10, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 3, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 5, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 6, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 12, 0, 0), 'amd'], [datetime.datetime(2009, 11, 13, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 19, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 20, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 24, 0, 0), 'brcd'], [datetime.datetime(2009, 11, 25, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 27, 0, 0), 'aapl'], [datetime.datetime(2009, 11, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 1, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 2, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 3, 0, 0), 'cmcsa'], [datetime.datetime(2009, 12, 4, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 7, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 8, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 9, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 10, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 11, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 14, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 15, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 16, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 17, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 18, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 21, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 22, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 23, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 24, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 28, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 29, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 30, 0, 0), 'aapl'], [datetime.datetime(2009, 12, 31, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 21, 0, 0), 'ebay'], [datetime.datetime(2010, 1, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 1, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 23, 0, 0), 'brcd'], [datetime.datetime(2010, 2, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 2, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 8, 0, 0), 'csco'], [datetime.datetime(2010, 3, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 3, 31, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 4, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 5, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 6, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 7, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 12, 0, 0), 'csco'], [datetime.datetime(2010, 8, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 16, 0, 0), 'csco'], [datetime.datetime(2010, 8, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 8, 31, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 14, 0, 0), 'csco'], [datetime.datetime(2010, 9, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 9, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 11, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 12, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 19, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 20, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 21, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 25, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 27, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 28, 0, 0), 'aapl'], [datetime.datetime(2010, 10, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 3, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 4, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 5, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 9, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 10, 0, 0), 'csco'], [datetime.datetime(2010, 11, 11, 0, 0), 'csco'], [datetime.datetime(2010, 11, 12, 0, 0), 'csco'], [datetime.datetime(2010, 11, 15, 0, 0), 'csco'], [datetime.datetime(2010, 11, 16, 0, 0), 'csco'], [datetime.datetime(2010, 11, 17, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 18, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 19, 0, 0), 'csco'], [datetime.datetime(2010, 11, 22, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 23, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 24, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 26, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 29, 0, 0), 'aapl'], [datetime.datetime(2010, 11, 30, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 1, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 2, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 3, 0, 0), 'csco'], [datetime.datetime(2010, 12, 6, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 7, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 8, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 9, 0, 0), 'csco'], [datetime.datetime(2010, 12, 10, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 13, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 14, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 15, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 16, 0, 0), 'aapl'], [datetime.datetime(2010, 12, 17, 0, 0), 'csco'], [datetime.datetime(2010, 12, 20, 0, 0), 'aapl'], ...]
Searching For High Volume Days¶
In [51]:
daily_volumes = {}
most_traded = []
for k, v in trades.items():
volume = sum([item[1] for item in v])
daily_volumes[k] = volume
In [52]:
volume_tuples = [[k,v] for k,v in daily_volumes.items()]
volume_tuples = sorted(volume_tuples, key=lambda x: x[1])
volume_tuples[-10:]
Out[52]:
[[datetime.datetime(2008, 1, 24, 0, 0), 1533363200.0], [datetime.datetime(2008, 1, 16, 0, 0), 1536176400.0], [datetime.datetime(2007, 11, 8, 0, 0), 1553880500.0], [datetime.datetime(2008, 9, 29, 0, 0), 1555072400.0], [datetime.datetime(2008, 2, 7, 0, 0), 1559032100.0], [datetime.datetime(2008, 1, 22, 0, 0), 1578877700.0], [datetime.datetime(2008, 10, 8, 0, 0), 1599183500.0], [datetime.datetime(2007, 7, 26, 0, 0), 1611272800.0], [datetime.datetime(2008, 10, 10, 0, 0), 1770266900.0], [datetime.datetime(2008, 1, 23, 0, 0), 1964583900.0]]
In [53]:
import math
high_volume_days = [v[0] for v in volume_tuples[-10:]]
def binary_search(array, search):
m = 0
i = 0
z = len(array) - 1
while i<= z:
m = math.floor(i + ((z - i) / 2))
if array[m] == search:
return m
elif array[m] < search:
i = m + 1
elif array[m] > search:
z = m - 1
high_volume_transactions = {}
for k,v in prices_columns.items():
for day in high_volume_days:
ind = binary_search(v["date"], day)
if ind is None:
continue
if k not in high_volume_transactions:
high_volume_transactions[k] = []
high_volume_transactions[k].append(prices[k][ind])
Finding Profitable Stocks¶
In [54]:
profits = []
for k,v in prices_columns.items():
percentage = (v["close"][-1] - v["close"][0]) / v["close"][0]
profits.append([k,percentage * 100])
profits = sorted(profits, key=lambda x: x[1])
profits[-10:]
Out[54]:
[['achc', 1330.0000666666667], ['bcli', 1339.2137535980346], ['cui', 1525.1625162516252], ['apdn', 1549.6700659868025], ['anip', 1707.3554472785033], ['amzn', 2230.7234281466817], ['blfs', 2437.4365640858978], ['arcw', 3898.60048982856], ['adxs', 4005.0000000000005], ['admp', 7483.8389225948395]]
The most profitable stock to buy in 2007 would have been ADMP, which appreciated from around 7 cents to its current price of 4.43.